package Alibaba;

import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;

/**
 * @author zhangmin
 * @create 2022-01-31 13:24
 *
 *349. 两个数组的交集
 * 给定两个数组 nums1 和 nums2 ，返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。
 * 我们可以 不考虑输出结果的顺序 。
 * 用set记录那些元素出现过
 */
public class intersection349 {
    public int[] intersection(int[] nums1, int[] nums2) {
        Set<Integer> set=new HashSet<>();
        for (int num:nums1) {
            set.add(num);
        }
        List<Integer> list=new LinkedList<>();
        for (int num:nums2) {
            if (set.contains(num)&&(!list.contains(num))){
                list.add(num);
            }
        }
        int[] res=new int[list.size()];
        for (int i = 0; i < list.size(); i++) {
            res[i]=list.get(i);
        }
        return res;
    }
}
